package br.com.gaspar.mb;

import gov.sefaz.framework.modelo.IBaseBO;
import gov.sefaz.utils.exception.BaseException;
import gov.sefaz.visao.jsf.ManagedBeanBase;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

import br.com.gaspar.bo.iface.IGasparBO;
import br.com.gaspar.entidade.Compra;
import br.com.gaspar.entidade.Fornecedor;

@Named("CompraMB")
@SessionScoped
public class CompraMB extends ManagedBeanBase<Compra> {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@EJB
	private IGasparBO<Compra> bo;
	
	@EJB
	private IGasparBO<Fornecedor> clienteBO;
	
	@Override
	protected IBaseBO<Compra> getFachada() {
		return bo;
	}

	@Override
	protected void criarAntes() throws BaseException {
		entidade = new Compra();
		super.criarAntes();
	}
	
	@PostConstruct
	@Override
	public void iniciar() {
		super.iniciar();
	}
	
	public List<Fornecedor> completeFornecedor(String query){
		List<Fornecedor> listaFornecedor = null;
		try {
			listaFornecedor = clienteBO.buscarTodosPorNamedQuery("Fornecedor.buscarPorNome", "%"+query+"%");
		} catch (BaseException e) {
			e.printStackTrace();
		} 
		return listaFornecedor;
	}
	
	public void calcularValorTotal(){
		Compra compra = getEntidade();
		compra.setValorTotal(compra.getValor().subtract(compra.getValorDesconto()));
	}	
}
